package com.fastloan.mgt.application.contract.service;

import com.fastloan.common.model.CheckResult;
import com.fastloan.mgt.application.base.model.ApplicationVo;
import com.fastloan.mgt.application.contract.model.ApplicationContract;
import com.fastloan.mgt.application.contract.model.ApplicationLoanResult;
import com.fastloan.mgt.application.contract.service.impl.loanmode.mode.ry.model.RyLoanResult;
import com.kawins.base.BaseService;
import com.kawins.result.ResultTo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 进件签约Service
 *
 * @author yanwe
 * createTime 2017-11-2017/11/11 16:17
 */
public interface ApplicationContractService extends BaseService<ApplicationContract> {

    CheckResult contract(ApplicationContract applicationContract, MultipartFile[] files);

    ApplicationVo getApplicationVo(String applicationId);

    ApplicationContract getContractInfo(String applicationId);

    void rejectContract(String applicationId);

    CheckResult agreeContract(String applicationId, boolean agree);

    List<String> queryContractFileIds(String applicationId);

    /**
     * 放款回调
     *
     * @param loanResult 回调结果
     * @return 结果
     */
    ResultTo loanCallback(ApplicationLoanResult loanResult);
}
